برنامه نویس

ساخت وبلاگ
درود
من یک بازی با جاوا نوشتم برای دسکتاپ. 70 درصد پیشرفت داشته.
بازی به این صورته که چند مرحله رایگان داره و بقیه مراحل در ازای پرداخت مبلغی باید از وبسرویس مربوطه بارگیری بشه.
اگر ممکنه بنده رو راهنمایی کنید چطور میتونم جلوی سوع استفاده ها بگیرم (مثلا یکی اگر چند مرحله رو رد کرد اونارو نتونه به رایگان در اختیار بقیه بزاره)

هیچ ایده ای ندارم لطفن اگر ممکنه منو راهنمایی کنید.

وبلاگ من
System.out.PrintLn("Say to Prof.James Gosling Java Never Dies ! I HATE Microsoft and its Technologies ! ");

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 212 تاريخ : جمعه 30 بهمن 1394 ساعت: 20:24

سلام.

من میخوام فرم ثبت نام رو با استفاده از ajax بنویسم . فرم رو نوشتم و به درستی در دیتابیس ثبت میشه . اما موقع استفاده از flash message پیامی در view نمایش داده نمیشه.

کد مربوط به view:

<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'user-form', 'clientOptions'=>array( 'validateOnSubmit'=>true, ),
)); ?> <p class="note">Fields with <span class="required">*</span> are required.</p> <?php echo $form->errorSummary($model); ?> <div class="row"> <?php echo $form->labelEx($model,'name'); ?> <?php echo $form->textField($model,'name',array('size'=>60,'maxlength'=>64)); ?> <?php echo $form->error($model,'name'); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'url'); ?> <?php echo $form->textField($model,'url'); ?> <?php echo $form->error($model,'url'); ?> </div> <div class="row buttons"> <?php echo CHtml::ajaxSubmitButton( 'Save', Yii::app()->createUrl('site/ajax'), array( 'type'=>'POST', ) );
?> </div>
<?php $this->endWidget(); ?>
</div>
<div id="test"></div>
<?php foreach(Yii::app()->user->getFlashes() as $key=> $message) { echo '<div class="alert alert-'.$key.'">' . $message . "</div>n"; } ?>

کد controller:
 public function actionAjax(){ $model=new Images; if(isset($_POST['Images'])){ $model->attributes=$_POST['Images']; if($model->save()){ Yii::app()->user->setFlash('success', "با موفقیت ثبت شد"); } } $this->render('ajax', compact('model')); }

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 210 تاريخ : جمعه 30 بهمن 1394 ساعت: 13:50

سلام

بهترین و سریع ترین راه برای پردازش داده وب از صفحه سایتی مانند http://www.tsetmc.com/Loader.aspx?Pa...22189364308501 چیست؟
لطفا کامل توضیح بدهید
باسپاس

تشکر شده توسط:

باید با cURL محتوای صفحه ای که توی سایت با Ajax خونده میشه رو بخونید و پردازش کنید. داده ها خام میان و باید فرمول محاسبه مقادیر رو از روی اونها بدست بیارین. قبلاً یه پروژه برای سایت بورس نوشته بودم که ازش میخوند ولی الان در دسترسم نیست.

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 207 تاريخ : پنجشنبه 29 بهمن 1394 ساعت: 22:40

سلام و خسته نباشید به دوستان عزیز
من این تاپیک رو صرقا برای اینکه از تجربیات شما استفاده کنم میزنم.
خواهشا هر تجربه ای که در این زمینه دارین و باعث میشه کار من سریع تر و بهتر انجام بشه بگین.
تابه حال تو سایت های مختلف ثبت نام کردین و بعد از ثبت نام دیدین که یه اس ام اس به موبایل شما میاد . منم دقیقا میخوام همین کار رو انجام بدم.
میخوام بعد از ثبت نام به طرف یه اس ام اس بره و بگه که تو سات ما ثبت نام کرده.
برای اینکار باید به پنل پیامک وصل بشم.
بهترین روش برای این کار چیه؟
بهترین شرکت برای این کار کدومه که دردسر نداشته باشه و کارم بی دردسر و بدون ارور انجام بشه.
ممنون میشم تو این زمینه کمکم کنین.

تشکر شده توسط:

من چند نمونه رو امتحان کردم مشکل داشتن مثل اینترنت که قطعی داره. زیاد سخت نگیر . یکی رو استفاده کن.

تشکر شده توسط:

http://sms.ncis.ir
نام کاربری ncdemo و رمز عبور demo

توضیحات در http://www.ncis.ir/sms

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 230 تاريخ : پنجشنبه 29 بهمن 1394 ساعت: 22:40

هدف از ایجاد این تاپیک ،انتشار مقالات طراحی سایت ، سئو ، بازاریابی اینترنتی ، اعتماد سازی ، مشتری مداری و ... به صورت خلاصه و مفید میباشد .

شرکت ایفانت با خدمات طراحی سایت و سئو با بهترین کیفیت و هزینه مناسب در خدمت شماست.

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 188 تاريخ : چهارشنبه 28 بهمن 1394 ساعت: 16:40

سلام و خسته نباشید به دوستان عزیز
به این آدرس ی سر بزنید.
http://www.sjji.ir/smn/
همونطور که میبینید فایل css اجرا نمی شود.
علتش رو نمیدونم؟
فایل css کل پروژه اجرا نمیشه.
فایل css پروژه تو آدرسی که دادم موجود هستش ولی نمدونم چرا اجرا نمیشه.
بنظرتون مشکل از کجاست؟
ممنون

تشکر شده توسط:

کد htaccess. اگه دارین بگذارین. وقتی توی سورس روی لینک CSS کلیک میکنیم ریدایرکت میشیم به این صفحه:
http://www.sjji.ir/index.php

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 223 تاريخ : سه شنبه 27 بهمن 1394 ساعت: 16:01

سلام دوستان

کسی کدی امتحان کرده که جواب گرفته باشه  و تونسته باشه یه عکس رو از طریق PHP به اکانته خودش تو اینستاگرام ارسال کنه ؟؟؟

من بعد از جستجوی زیاد به این کدها رسیدم ولی مشکل داره , اول که ارور Fail رو میداد و بعد که درستش کردم هیچ خروجی بهم نمیده , کسی می دونه مشکلش چیه یا نمونه ای سراغ دارید که جواب گرفته باشید ؟؟

ممنون میشم کمک کنید

<?php
function SendRequest($url, $post, $post_data, $user_agent, $cookies) { $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://i.instagram.com/api/v1/'.$url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
if($post) {
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}
if($cookies) {
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
} else {
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
}
$response = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
retu array($http, $response);
}
function GenerateGuid() {
retu sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
mt_rand(0, 65535),
mt_rand(0, 65535),
mt_rand(0, 65535),
mt_rand(16384, 20479),
mt_rand(32768, 49151),
mt_rand(0, 65535),
mt_rand(0, 65535),
mt_rand(0, 65535));
}
function GenerateUserAgent() {
$resolutions = array('720x1280', '320x480', '480x800', '1024x768', '1280x720', '768x1024', '480x320');
$versions = array('GT-N7000', 'SM-N9000', 'GT-I9220', 'GT-I9100');
$dpis = array('120', '160', '320', '240');
$ver = $versions[array_rand($versions)];
$dpi = $dpis[array_rand($dpis)];
$res = $resolutions[array_rand($resolutions)];
retu 'Instagram 4.'.mt_rand(1,2).'.'.mt_rand(0,2).' Android ('.mt_rand(10,11).'/'.mt_rand(1,3).'.'.mt_rand(3,5).'.'.mt_rand(0,5).'; '.$dpi.'; '.$res.'; samsung; '.$ver.'; '.$ver.'; smdkc210; en_US)';
}
function GenerateSignature($data) {
retu hash_hmac('sha256', $data, 'b4a23f5e39b5929e0666ac5de94c89d1618a2916');
}
function GetPostData($filename) {
if(!$filename) {
echo "The image doesn't exist ".$filename;
} else {
$post_data = array('device_timestamp' => time(),
'photo' => '@'.$filename);
retu $post_data;
}
}
// Set the useame and password of the account that you wish to post a photo to
$useame = 'user';
$password = '123';
// Set the path to the file that you wish to post.
// This must be jpeg format and it must be a perfect square
$filename = '1.jpg';
// Set the caption for the photo
$caption = "Test";
// Define the user agent
$agent = GenerateUserAgent();
// Define the GuID
$guid = GenerateGuid();
// Set the devide ID
$device_id = "android-".$guid;
/* LOG IN */
// You must be logged in to the account that you wish to post a photo too
// Set all of the parameters in the string, and then sign it with their API key using SHA-256
$data = '{"device_id":"'.$device_id.'","guid":"'.$guid.'","useame":"'.$useame.'","password":"'.$password.'","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}';
$sig = GenerateSignature($data);
$data = 'signed_body='.$sig.'.'.urlencode($data).'&ig_sig_key_version=4';
$login = SendRequest('accounts/login/', true, $data, $agent, false);
if(strpos($login[1], "Sorry, an error occurred while processing this request.")) { echo "Request failed, there's a chance that this proxy/ip is blocked";
} else {
if(empty($login[1])) {
echo "Empty response received from the server while trying to login";
} else {
// Decode the array that is retued
$obj = @json_decode($login[1], true);
if(empty($obj)) {
echo "Could not decode the response: ".$body;
} else { // Post the picture $data = GetPostData($filename); $post = SendRequest('media/upload/', true, $data, $agent, true); if(empty($post[1])) { echo "Empty response received from the server while trying to post the image"; } else { // Decode the response $obj = @json_decode($post[1], true); if(empty($obj)) { echo "Could not decode the response"; } else { $status = $obj['status']; if($status == 'ok') { // Remove and line breaks from the caption $caption = preg_replace("/r|n/", "", $caption); $media_id = $obj['media_id']; $device_id = "android-".$guid; $data = json_encode(array(
“device_id” => $device_id,
“guid” => $guid,
“media_id” => $media_id,
“caption” => $caption,
“device_timestamp” => time(),
“source_type” => 5,
“filter_type” => 0,
“extra” => array(),
“Content-Type” => “application/x-www-form-urlencoded; charset=UTF-8”
)); $sig = GenerateSignature($data); $new_data = 'signed_body='.$sig.'.'.urlencode($data).'&ig_sig_key_version=4'; // Now, configure the photo $conf = SendRequest('media/configure/', true, $new_data, $agent, true); if(empty($conf[1])) {
echo "Empty response received from the server while trying to configure the image"; } else { if(strpos($conf[1], "login_required")) { echo "You are not logged in. There's a chance that the account is banned"; } else { $obj = @json_decode($conf[1], true); $status = $obj['status']; if($status != 'fail') { echo "Success"; } else { echo 'Fail'; } } } } else { echo "Status isn't okay"; } } } } }
}
?>

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 247 تاريخ : سه شنبه 27 بهمن 1394 ساعت: 16:01

سلام . من برای تعیین وضعیت یک SMS از تابع زیر استفاده میکنم:
$soapClient->SendSms($parameters)->SendSmsResult;

اما مشکل اینه که برای شماره هایی هم که اصلا وجود نداره باز هم مقدار 1 رو بر میگردونه؟

تابعی برای اعتبار سنجی شماره تلفن کاربر وجود داره ؟

مثلا میخوام اگر یه مقدار غیر واقعی مثل 123456 رو وارد کرد  و پیامک ارسال نشد. تابع تشخیص بده

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 213 تاريخ : سه شنبه 27 بهمن 1394 ساعت: 16:01

اگر عناصری داشته باشیم که از نظر معنایی و سئو برایمان مهم باشد، آیا می توانیم آنها را داخل تگ های و ... قرار داد؟
مثلا به این شکل:
<h1><input ... /></h1>
یا
<h1><select><option ... /><option ... /></select></h1>

اگر پاسخ منفی است چه راهکاری وجود دارد؟

تشکر شده توسط:

بهتره اینکار رو نکنید. توی تگهای Heading فقط متن بگذارین. میتونید توی تگ بگذارین و با JS مخفی کنید تا فقط تگ input که خارج از متن هست بمونه. البته این روشها جزو Dark SEO هستن و توصیه نمیشن. سعی کنید منطقی و بدون فریبکاری سایت رو طراحی کنید. توی این مدل SEO سایت برای بازدیدکننده جذاب درست میشه نه برای موتور جستجو. موتورهای جستجو هم اینقدر هوشمند شدن که سایتی که برای کاربران جذاب باشه رو به شکل مناسبی رتبه بندی کنن.

ممنون از پاسختون.
نه اگه میگید اصولی نیست انجام نمیدم.
فقط راهکار دیگه ای وجود داره؟ مثلا یک کتابی داریم که کاربر سرفصل هاش رو از داخل تگ <select> انتخاب می کنه و وقتی انتخاب شد این سرفصل جای دیگه ای نمایش داده نمیشه و فقط داخل همون تگ <select> نمایش داده میشه.

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 226 تاريخ : دوشنبه 26 بهمن 1394 ساعت: 23:46

روی این ارور میده : 

کد:

$values->field_id

$id=intval($_GET['id']); $model=Objects::find()->where(['id' => $id])->One(); if($values=Fieldsrelationship::find()->where(['object_id' => $id])->All()){ $fields=Fields::find()->where(['id' => $values->field_id])->All(); retu $this->render('show',['post'=>$model,'fields'=>$fields,'values'=>$values]); }

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 218 تاريخ : دوشنبه 26 بهمن 1394 ساعت: 23:46

امروز یکی از دوستان نیاز داشتن که نمودار دایره ای با PHP بکشن. این شد که تصمیم گرفتم یه کلاس برای این کار بنویسم. کد کلاس:
<?php
class PIE
{ private $im; private $width; private $height; private $bg; private $colors; private $values; private $angles; public function __construct($width = 300, $height = 300) { $this->im = ImageCreateTrueColor($width, $height); $this->width = $width; $this->height = $height; $this->bg = ImageColorAllocate($this->im, 255, 255, 255); $this->colors = []; $this->values = []; $this->angles = []; } public function setBackgroundColor($red, $green, $blue) { $this->bg = ImageColorAllocate($this->im, $red, $green, $blue); } public function add($value, $color = null) { $this->values[] = floatval($value); $this->colors[] = is_null($color) ? $this->generateRandomColor() : ImageColorAllocate($this->im, $color[0], $color[1], $color[2]); } public function render() { $this->draw(); ob_start(); ImagePNG($this->im); $imageData = ob_get_clean(); retu 'data:image/png;base64,' . base64_encode($imageData); } public function saveAs($fileName) { $this->draw(); ImagePNG($this->im, $fileName . '.png'); } public function __destruct() { ImageDestroy($this->im); } private function draw() { $this->fillBackground(); $this->calculateStartEndAngles(); foreach($this->values as $key => $value) { $this->drawArc($value, $this->colors[$key], $this->angles[$key]['start'], $this->angles[$key]['end']); } } private function fillBackground() { ImageFilledRectangle($this->im, 0, 0, $this->width, $this->height, $this->bg); } private function generateRandomColor() { retu ImageColorAllocate($this->im, rand(0, 255), rand(0, 255), rand(0, 255)); } private function drawArc($value, $color, $start, $end) { $w = $this->width / 2; $h = $this->height / 2; ImageFilledArc($this->im, $w, $h, $w, $h, $start, $end, $color, IMG_ARC_PIE); } private function calculateStartEndAngles() { $this->angles = []; $total = array_sum($this->values); $start = 0; foreach($this->values as $value) { $angle = ($value / $total) * 360; $this->angles[] = ['start' => $start, 'end' => $start + $angle]; $start += $angle; } }
}

این هم مثالی از نحوه استفاده از کلاس فوق:
<?php
require_once 'PIE.php';
$pie = new PIE(500, 500);
$pie->add(30, [255, 0, 0]);
$pie->add(40, [0, 255, 0]);
$pie->add(100, [0, 0, 255]);
$pie->add(200);
?>
<!doctype html>
<html> <head> <meta charset="utf-8" /> <title>PIE Chart with PHP</title> </head> <body> <img src="<?= $pie->render() ?>" /> </body>
</html>

تصویر خروجی رو ضمیمه کردم.

   

از مزایای این کلاس، امکان تعیین رنگ دلخواه برای هر بخش از نمودار و یا اجازه دادن به کلاس برای تولید رنگ تصادفی هست. همچنین محدودیتی در تعداد قطاعهای نمودار (تعداد مقادیر) وجود نداره. همچنین رنگ پس زمینه و ارتفاع و پهنای نمودار رو هم میتونید مشخص کنید. یکی دیگه از مزایای این کلاس اینه که میتونید خروجی رو هم توی فایل ذخیره کنید (متد saveAs) و هم مستقیماً نمایش بدین (متد render).

اگه درمورد نحوه کار و کدنویسی کلاس سؤالی بود در خدمتم.

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 239 تاريخ : دوشنبه 26 بهمن 1394 ساعت: 19:00

سلام دوستان

یه مشکل واسم پیش اومده که وقتمو خیلی گرفته
بنده از تابع remove در جی کوئری برای حذف عناصر استفاده می کنم

کد:

    $("a").click(function(){
        if (this.attr("id") == "delete") {
            r = window.confirm("Do you really want to remove ?");
            if (r) $(this).parent().remove();
        }
    });


 , تابعی که برای این کار نوشتم برای کد های اچ تی ام الی که از سرور زمان درخواست کاربر لود میشن مشکلی نداره و عناصر رو حذف می کنه اما وقتی می خوام یک سری کدهای اچ تی ام ال رو به صفحه اضافه کنم اصلا وارد تابع حذف نمیشه و اصلا انگار نمی بینتش , حتی alert هم که می گیرم انگار نمی بینتش ...
چی کار کنم برای کدهای اچی تی ام الی که بعدها به صفحه اضافه میشه این تابع کار کنه ؟؟؟

ممنون

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 200 تاريخ : دوشنبه 26 بهمن 1394 ساعت: 19:00

سلام
میخواستم ببینم کار این چی هست
و چرا ما this->enableCsrfValidation = false
کردیم
در ویوئوی آموزشی آمده بود نباید کلش false بشه و فقط یک قسمتش باید false بشه ولی ما چون وقت نداریم کلش را false قرار میدیم
حالا اینجا میشه توضیح بدید نحوه کارایی اش رو و مکانیزم عملی اش رو ؟
ممنون

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 205 تاريخ : دوشنبه 26 بهمن 1394 ساعت: 7:45

نیازمند همچین کلاسی هستیم :

امنیت مهم ترین اصل هست که کاملا رعایت شود
تغییر نام فایل ها در هنگام آپلود ، تکراری نباشد
امکان آپلود چند فایل که بتوان اضافه نمود
اخطار در صورت پسوند غیر مجاز و تعیین پسوند های مجاز
اخطار در صورت رعایت نکردن حجم و تعیین حداکثر حجم
آپلود نشدن فایل بر روی سرور تا زمانی که همه فایل های آپلودی توسط کاربر صحیح باشند . ( برای مثال 4 فایل باید آپلود شود ، اگر یکی از آنها دارای پسوند یا حجم غیر مجاز بود ، 3 فایل دیگر نیز بر روی هاست Move نشوند )
نمایش نام فایل ، آدرس فایل پس از آپلود کامل

با تشکر

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 204 تاريخ : دوشنبه 26 بهمن 1394 ساعت: 7:45

سلام دوستان من یک فرم دارم که توی ان یکسری دسته هست و هر دسته یک سری داره به صورت زیر : حالا توی کنترولر نیاز به ای دی ان فیلد ها دارم

یک dropdownlist هست که دسته ها را داره بعد با ajax دارم از کنترولر اطلاعات فیلد مربوط به ان دسته را میگیرم و برای یک input text میسازم حالا مشکل اینجاست که توی دیتابیس باید ریلیشن باشه و field_id که از جدول fields هست را برام برگردونه

ساختار دیتابیس :‌ fields (id- name- latin_name) fieldsrelation(id- fields_id - field_value) in sakhtaresh hast

مسخره ترین راه این هست که id را هم در یک input بگذارم که واقعا غیر حرفه ای هست راه دیگه میتونه کوکی یا session باشه که انم معلوم نیست تعداد فیلد ها چقدر بشه و قابل قبول نیست راه بعدی اجاکس هست که ایده خاصی براش ندارم.
ای دی میده مساله جور دیگه ای هست یک dropdownlist دسته ها توش هست ما با اجاکس گفتیم هر وقت تغییر داد دسته را بره از جدول  fields اسم فیلدش رابخونه و بعد بر اساس ان یک input text بسازیم با همون اجاکس و نمایش بدیم که اینکار برای هر تعداد فیلد مربوط به ان دسته انجام میشه حالا مشکل اینجاست که ما اینجا محتوای ان فیلد را با Input میتونیم بخوینم اما دیتابیس ریلشن داره و نیاز به fields_id هم هست بر اساس دیتایسی ک قبل گفتم حالا یک راه این هست که کنار هر input که میسازم بگم یک input hidden باشه که id ارسال کنه اما راه اصولی نیست دنبال راه بهترم ؟
فرم :

<?php
use yiihelpersHtml;
use yiiwidgetsActiveForm;
use appmodelsFields;
use appmodelsFieldsrelationship;
$form = ActiveForm::begin([ 'id' => 'object-add', 'options' => [ 'class' => 'form-horizontal', 'enctype' => 'multipart/form-data' ],
])?>
<?= $form->field($model, 'object_type_id')->dropdownlist([['prompt'=>'نوع شی دیجیتال را انتخاب کنید'],$objectstype]) ?>
<?= $form->field($model, 'title') ?>
<?= $form->field($model, 'description')->textarea() ?>
<?= Html::submitButton('ثبت شی دیجیتال',['class'=>'btn btn-primary']) ?>
<?php ActiveForm::end();
$js=<<<Js
var URL="http://localhost/digifile/";
$('#objects-object_type_id').change(function(e){
e.preventDefault();
e.stopImmediatePropagation();
$.post(URL+"fields/getfields",{getfields:'true',object_type_id:$(this).val()},function(res){ res=JSON.parse(res); if(res!=[]) { $('.hasremove').remove(); for(var i=0;i<res.length;++i) { $('.field-objects-description').after('<div class="form-group field-fieldsrelationship-'+res[i].latin_name+' hasremove"><label class="control-label" for="fieldsrelationship-'+res[i].latin_name+'">'+res[i].name+'</label><input type="text" id="fieldsrelationship-'+res[i].latin_name+'" class="form-control" name="fieldsrelationship['+res[i].latin_name+']"><div class="help-block"></div></div>'); } } else { }
}); retu false;
});
Js;
$this->registerJs($js);
?>

کنترولر ها :

کنترولرذخیره سازی فرم :

<?php
namespace appcontrollers;
use Yii;
use appmodelsObjects;
use appmodelsObjectTypes;
use appmodelsPayments;
use appmodelsFieldsrelationship;
use yiihelpersArrayHelper;
class ObjectsController extends yiiwebController
{ public function actionIndex() { $objects=Objects::find()->All(); retu $this->render('index',array('objects'=>$objects)); } public function actionAdd() { $jdf=Yii::$app->jdf->date('Y m d h:i:s'); $model=new Objects; $fields = new Fieldsrelationship; $model->user_id='1'; $model->submit_date=$jdf; $model->status='0'; if(isset($_POST['Objects']) && isset($_POST['fieldsrelationship'])){ $model->attributes=$_POST['Objects']; if ($model->load(Yii::$app->request->post()) && $model->save()) { $fields->attributes=$_POST['fieldsrelationship']; var_dump($_POST['fieldsrelationship']); // foreach ($_POST['fieldsrelationship'] as $myfield) // { // $fieldsrelation=Fields::find()->where('')->One(); $fields->object_id = $model->id; // $fields->field_id = $fieldsrelation->id; $fields->field_id = '5'; $fields->field_value =$_POST['fieldsrelationship']['story']; $fields->save(); // } // retu $this->redirect(['index', 'id' => $model->id]); } } else { $objectstype=ObjectTypes::find()->All(); $objectstype=ArrayHelper::map($objectstype,'id','name'); retu $this->render('add', ['model'=>$model,'fields'=>$fields,'objectstype' => $objectstype]); } } public function actionShow() { $id=intval($_GET['id']); $model=Objects::find()->where(['id'=>$id])->One(); retu $this->render('show',['post'=>$model]); } public function actionDownload()
{ $id=intval($_GET['id']); $model=Objects::find()->where(['id'=>$id])->One(); retu Yii::$app->response->sendFile($model->file);
}
public function actionPay()
{ $session=Yii::$app->session; $session->open(); $model=new Payments(); if($model->load(Yii::$app->request->post())) { $model->submit_date=Yii::$app->formatter->asTimestamp(date('Y-m-d h:i:s')); $model->status='0'; $model->price=$_SESSION['price']; $model->object_id=$_SESSION['object_id']; $Connection=Yii::$app->db; $sql=$Connection->createCommand("SELECT * FROM do_settings WHERE setting_name='pay'")->queryOne(); unset($_SESSION['object_id']); unset($_SESSION['price']); if($sql['setting_value']=='payline') { $this->layout='location'; $result=Payline::pardakht($model->price); if($result>0 && is_numeric($result)) { $model->id_get=$result; if($model->save()) { $url="http://payline.ir/payment-test/gateway-$result"; ?> <script> window.location='<?= $url ?>'; </script> <?php } } } else { $model->setting_name='mellat'; require_once 'components/nusoap.php'; $bank_mellat=new bank_mellat(); $res=$bank_mellat->pay($model->price); if($res) { $model->RefId=$res; $model->save(); retu $this->render('location',array('res'=>$res)); } else { retu $this->render('location',array('msg'=>'در اتصال به درگاه بانک مشکلی بیش آمده لطفا دوباره امتحان کنید')); } } } else { retu $this->render('location',array('model'=>$model)); }
}
}

مدل ها :
مدل fields نام فیلد ها را ذخیره میکنه .
<?php
namespace appmodels;
use Yii;
// public $id;
// public $name;
// public $object_type_id;
class Fields extends yiidbActiveRecord
{ /** * @inheritdoc */ public static function tableName() { retu '{{do_fields}}'; } /** * @inheritdoc */ public function rules() { retu [ [['name', 'object_type_id','latin_name'], 'required','message'=>'لطفا فیلد {attribute} را وارد کنید'], [['object_type_id'], 'integer'], [['name','latin_name'], 'string', 'max' => 256] ]; } /** * @inheritdoc */ public function attributeLabels() { retu [ 'id' => 'ID', 'name' => 'نام فیلد به فارسی', 'latin_name' => 'نام فیلد به انگلیسی', 'object_type_id' => 'نوع شی دیجیتال', ]; }
}

مدل fields_relation : ذخیره سازی محتوای فیلد ها :
<?php
namespace appmodels;
use Yii;
/**
* This is the model class for table "do_fields_relationship".
*
* @property string $id
* @property string $object_id
* @property string $field_id
* @property string $field_value
*/
class Fieldsrelationship extends yiidbActiveRecord
{ /** * @inheritdoc */ public static function tableName() { retu 'do_fields_relationship'; } /** * @inheritdoc */ public function rules() { retu [ [['object_id', 'field_id', 'field_value'], 'required'], [['object_id', 'field_id'], 'integer'], [['field_value'], 'string', 'max' => 256] ]; } /** * @inheritdoc */ public function attributeLabels() { retu [ 'id' => 'ID', 'object_id' => 'Object ID', 'field_id' => 'Field ID', 'field_value' => 'Field Value', ]; }
}

بهترین راه برای دریافت field_id را بگید لطفا ؟

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 212 تاريخ : دوشنبه 26 بهمن 1394 ساعت: 7:45

میدونید که روش استاندارد چند زبانه کردن در اندروید با استفاده از فایل strings.xml است.
مثلا وقتی زبان انگلیسی باشه رشته های داخل برنامه از فایل strings.xml واقع در دایرکتوری res/values خونده میشن، ولی وقتی زبان فارسی باشه رشته ها از فایل strings.xml واقع در دایرکتوری res/values-fa خونده میشن.
روش درج این رشته ها در برنامه رو هم که میدونید به این شکل هست که از ‎@string/string_name استفاده میکنیم و در کد جاوا هم میتونیم از getResources().getString(R.string.string_name)‎ استفاده کنیم.

اما وقتی رشته های ما در جای دیگری باشن چطور؟

مثلا برنامهء من اینترفیس تحت مرورگر داره، یعنی از طریق مرورگر وب روی PC با برنامهء روی گوشی ارتباط برقرار میکنیم. بنابراین برنامه یکسری کد HTML رو به مرورگر ارسال میکنه.

حالا سوال اینه که بنظرتون چه روشی برای چند زبانه کردن این اینترفیس های HTML مناسبه؟
چون ما که نمیتونیم در این صفحات HTML (که من توی پوشهء raw ذخیره کردمشون) از ‎@string/string_name استفاده کنیم.
البته من تست کردم یک پوشهء raw-fa هم اگر ایجاد کنیم، اونوقت وقتی زبان فارسی هست بطور خودکار فایلهای HTML موجود در این پوشه بجای اونایی که توی raw هستن خونده میشن؛ دقیقا مثل values و values-fa. ولی من نمیخوام از کل هر فایل HTML دو نسخه یکی به زبان انگلیسی و دیگری به زبان فارسی داشته باشم، چون این روش افزونگی بیش از حد داره بنظرم و تغییرات و نگهداری برنامه رو مشکل میکنه.

یه فکری که الان بنظرم میرسه اینه که فقط رشته ها رو بصورت متغییرهای جاوااسکریپت در فایلهای js که توی پوشهء raw و raw-fa میذارم ذخیره کنم و بعد در هر فایل HTML، این فایل js مربوط به رشته ها رو لود میکنم و توسط جاوااسکریپت رشته ها رو هرکدام در جای خودشون در سورس HTML قرار میدم.
شاید تنها اشکالی که بشه به این روش گرفته وابسته بودنش به جاوااسکریپت هست، اما بنظرم این امروزه دیگه مسئله ای نیست و ساپورت جاوااسکریپت امروزه جزو امکانات پایه برای خیلی سایتها و نرم افزارها محسوب میشه و دیگه گذشت دورانی که بگیم باید برنامه بدون جاوااسکریپت هم قابل استفاده باشه. برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 228 تاريخ : يکشنبه 25 بهمن 1394 ساعت: 23:20

سلام آقای شهرکی

در پکیج آموزشی قسمت ساخت فریمورک یک کلاس view تعریف کردید با یکسری پارامتر مثل get و setTemplate
ولی از اونا استفاده نکردین و برای لود ویو از متد رندر کنترلر استفاده کردین
دلیل خاصی داشتین برای این کار؟ با این حساب اون متدهای ویو چه کاربردی دارند؟
ممنون برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 204 تاريخ : يکشنبه 25 بهمن 1394 ساعت: 23:20

سلام
logout رو لوکال درست کار می کنه
ولی رو هاست اررور می ده
Method Not Allowed. This url can only handle the following request methods: POST
<?= Html::a(
 '( ' . yii::$app->user->identity->useame . ' )' . 'خروج',
 yiihelpersUrl::toRoute(['site/logout']),
 ['data-method' => 'post']) ?>
برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 214 تاريخ : يکشنبه 25 بهمن 1394 ساعت: 23:20

سلام و خسته نباشید به دوستان عزیز
من یه مقادیری دارم که میخوام با هاشون نمودار دایره ای ساده با php درست کنم.
مقادیر من به این شکل هستش.
34
19
27
91
17
41

من با استفاده از توابع gd خودم میتونم نمودار میله ای درست کنم.
ولی چون مشتری درخواست نمودار دایره ای کرده ، مجبورم نمودار دایره ای درست کنم.
تو اینترنت خیلی سرچ کردم و به کتابخونه های آماده پولی رسیدم.
خواستم ببینم برای ساخت نمودار دایره ای روش های ساده تری هم هستش.
آیا تابعی برای این کار وجود داره؟
آیا تا به حال نموددار دایره ای ساختین؟
ممنون میشم تو این زمینه راهنماییم کنین.

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 228 تاريخ : شنبه 24 بهمن 1394 ساعت: 13:24

Question 

سلام
میخواستم بدونم پس زمینه هایی شبیه پس زمینه صفحه لاگین برنامه اینستاگرام و چطوری درست میکنن ؟

تشکر شده توسط:

- - , .

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 195 تاريخ : جمعه 23 بهمن 1394 ساعت: 23:08

خبرنامه